package com.youlai.boot.modules.game.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.modules.game.model.entity.GameUserPoints;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 游戏用户积分Mapper接口
 *
 * @author 有来技术团队
 */
@Mapper
public interface GameUserPointsMapper extends BaseMapper<GameUserPoints> {

    /**
     * 获取排行榜列表
     *
     * @param period 时间段
     * @param limit  获取数量
     * @return 排行榜列表
     */
    List<GameUserPoints> getLeaderboard(@Param("period") String period, @Param("limit") Integer limit);

    /**
     * 获取用户排名
     *
     * @param userId 用户ID
     * @param period 时间段
     * @return 用户排名信息
     */
    GameUserPoints getUserRank(@Param("userId") Long userId, @Param("period") String period);

    /**
     * 更新用户积分
     *
     * @param userId  用户ID
     * @param points  积分变化值
     * @return 影响行数
     */
    int updateUserPoints(@Param("userId") Long userId, @Param("points") Integer points);
} 